#ifndef __LEXICO_H__
#define __LEXICO_H__

#include <cstring>
#include <stdio.h>
#include <sstream>
#include <iostream>

#include "global.h"

#define NOMBRE_ARCHIVO_LEXICO "lexico"

using namespace std;

class Lexico
{
	private:
		FILE * archivoLexico;
		static int codigoArchivo;
		static int codigoArchivoNivel1;
		char * nombreArchivoLex;
		bool destroy;
		char modo[2];

	public:
		Lexico(char * modo, int nivel, bool parcial = false);
		virtual ~Lexico();

		void abrirArchivo ();
		char * obtenerTermino(int offset);
		int obtenerOffsetActual();
		void escribirTermino(string termino);
		static void resetearCodigoArchivo();
		static void resetearCodigoArchivoNivel1();
		void setDestroy();
		void renombrarArchivoFinal();
		void renombrarArchivoANivel(char * nivel);
};

#endif
